//
// Created by andreas on 13.01.19.
//

#ifndef RTPS_PRINTUTILS_H
#define RTPS_PRINTUTILS_H

#include "rtps/common/types.h"

inline void printEntityId(EntityId_t id) {
  for (uint8_t byte = 0; byte < sizeof(id.entityKey)/sizeof(uint8_t); byte++) {
    printf("%x", (int)id.entityKey[byte]);
  }
  printf("%x", (uint8_t)(id.entityKind));
}

inline void printGuidPrefix(GuidPrefix_t prefix) {
  for (uint8_t byte = 0; byte < sizeof(prefix.id)/sizeof(uint8_t); byte++) {
    printf("%x", (int)prefix.id[byte]);
  }
}

inline void printGuid(Guid_t guid) {
  printGuidPrefix(guid.prefix);
  printf(":");
  printEntityId(guid.entityId);
}

#endif // RTPS_PRINTUTILS_H
